<div class="row span8" id="remitoForm">
	<div data-bind="visible: $root.mostrarSuccess" class="alert alert-success">
		<span data-bind="text: $root.successMensaje"></span>
	</div>
	<div data-bind="visible: $root.mostrarError" class="alert alert-error">
		<span data-bind="text: $root.errorMensaje"></span>
	</div>		
	<div data-bind="visible: $root.mostrarForm">
		<div class="span8 well">
			<h4>Orden de Trabajo</h4>
			<hr>
			<table width="100%">
				<tr>
					<td><label class="span2 label" for="selectEmpresa">Cliente:</label></td>
					<td><input class="span5 uneditable-input" id="inputPersona" data-bind="value: remito().persona.nombre" /></td>
					<td><input class="span5 uneditable-input" id="inputEmpresa" data-bind="value: remito().empresa.razonSocial" /></td>
					<td><input class="span5 uneditable-input" id="inputDeposito" data-bind="value: deposito().nombre" /></td>
				</tr>
				<tr>
					<td><label class="span2 label" for="inputApellido">Domicilio:</label></td>
					<td colspan="3"><input class="span6 uneditable-input" id="inputApellido" data-bind="value: deposito().domicilio"></input></td>
				</tr>
				<tr>
					<td><label class="span2 label" for="inputCalle">Departamento:</label></td>
					<td><input class="span3 uneditable-input" id="inputCalle" data-bind="value: deposito().departamento"></input></td>
					<td><label class="span2 label" for="inputCUIT">N&uacute;mero de CUIT :</label></td>
					<td><input class="input-medium uneditable-input" id="inputCUIT" data-bind="value: empresa().cuit"></input></td>
				</tr>
				<tr>
					<td><label class="span2 label" for="inputIVA">Condici&oacute;n de IVA:</label></td>
					<td><input class="span3 uneditable-input" id="inputIVA" data-bind="value: empresa().iva"></input></td>
					<td><label class="span2 label" for="selectChofer">Chofer:</label></td>
					<td><input id="selectChofer" data-bind="value: chofer" class="span2 uneditable-input" /></td>
				</tr>
				<tr>
					<td><label class="span2 label" for="inputDetalle">Detalle:</label></td>
					<td colspan="3"><input type="text" id="inputDetalle" data-bind="" class="span6" /></td>
				</tr>
				<tr>
					<td><label class="span2 label" for="inputTipo">Condici&oacute;n de Venta:</label></td>
					<td><input id="inputTipo" class="span3 uneditable-input" value="Contado" /></td>
					<td><label class="span2 label" for="inputTipo">Factura N&uacute;mero:</label></td>
					<td><input id="inputTipo" class="span2 uneditable-input" value="0001-12345678" /></td>
				</tr>
			</table>
		</div>
		<div class="span8 well">
			<table class="table table-striped table-bordered">
				<thead>
					<tr>
						<th>Codigo</th><th>Cantidad</th><th>Descripcion</th>
					</tr>
				</thead>
				<tbody data-bind="foreach: remito().productos">
					<tr>
						<td data-bind="text: codigo"></td>
						<td><input type="text" id="inputCantidad" class="input-large" style="width:150px;" data-bind="value: cantidad"></td>
						<td data-bind="text: descripcion"></td>
					</tr>
				</tbody>
			</table>
		</div>
		<div class="span8 well">
			<div class="form-actions" style="text-align:right">						
				<button id="generar" class="btn btn-primary" data-bind="click: generar">Generar</button>
				<select id="tipoRemito" class="input-medium">
					<option value="2">Orden De Trabajo</option>
					<option value="3">Remito De Salida</option>
					<option value="4">Ajuste</option>
					<option value="5">Recomposicion</option>
				</select>			
				<button id="cancelar" class="btn" data-bind="click: cancelar">Cancelar</button>
			</div>
		</div>
	</div>
</div>
<script language="javascript">
	function lineaRemito() {
		var self = this;
		
		self.codigo = ko.observable();
		self.cantidad = ko.observable();
		self.descripcion = ko.observable();
	}
	
	function Remito() {
		var self = this;
		
		self.deposito = ko.observable();
		self.empresa = ko.observable();
		self.persona = ko.observable();
		self.chofer = ko.observable();
		self.fecha = ko.observable();
		self.tipo = ko.observable();
		self.lineaRemitos = ko.observableArray();
	}
	
	function RemitoModelo() {
		var self = this;
		
		self.title = ko.observable("Administrar Remito");
		self.mostrarForm = ko.observable(true);
		self.mostrarSuccess = ko.observable(false);
		self.successMensaje = ko.observable("");
		self.mostrarError = ko.observable(false);
		self.errorMensaje = ko.observable("");
		self.mostrarFormError = ko.observable(false);
		self.formErrorMensaje = ko.observable("");
				
		self.nuevaLinea = ko.observable(new lineaRemito());
		self.codigos = ko.observableArray();
		self.codigoSeleccionado = ko.observable(null);
		self.empresas = ko.observableArray();
		self.personas = ko.observableArray();
		self.choferes = ko.observableArray();
		self.remito = ko.validatedObservable(new Remito());
		
		self.volver = function() {
			window.location.href = "./Index.html";
		};
		
		self.cargar = function() {
			var exito = function(data) {
				if(data.status != "OK") {
				} else {
					self.remito(data.data);
				}
			};
			var falla = function(data) {
			};
			getData("./servidor/sterilav.php?op=getRemito&id=" + amplify.store.sessionStorage("sterilav.remitoEditado"),exito,falla);
		};
		
		self.cargaProductos = function() {
			var exitoProducto = function(productos) {
				if(productos.status != "OK") {
				} else {
					for(var i=0; i< productos.data.length; i++) {
						self.codigos().push({id:productos.data[i].id, descripcion:productos.data[i].descripcion});
					}
				}
			};
			var fallaProducto = function(data) {
			};
			getDataSync("./servidor/sterilav.php?op=listaProductos",exitoProducto,fallaProducto);
		};
		
		self.generar = function() {
			var exito = function(data) {
				if(data.status != "OK") {
					$("#errorMsg").show();
					$("#errorMsg").append(data.data);
				} else {
					self.mostrarForm(false);
					self.successMensaje(data.data);
					self.mostrarSuccess(true);
					amplify.store.sessionStorage("sterilav.remitoEditado", null);
				}
			};
			var falla = function(data) {
				if(data.data) {
					self.formErrorMensaje(data.data);
				} else {
					self.formErrorMensaje("Hubo un error tratando de generar la Orden de Trabajo.");
				}
				self.mostrarFormError(true);				
			};
			var url = "./servidor/sterilav.php?op=updateRemito";
			postData(url,exito,falla,JSON.parse(ko.toJSON(self.remito())));
		};
		self.cancelar = function() {
			amplify.store.sessionStorage("sterilav.remitoEditado", null);
			window.location.href = "./Index.html";
		};
		
		self.cargaProductos();
		self.cargar();
	}

	var remitoModelo = new RemitoModelo();
	ko.applyBindings(remitoModelo, document.getElementById("remitoForm"));  
</script>